/*
Copyright 2007 Julian Asamer

This file is part of Fractalicious.

    Fractalicious is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Fractalicious is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Fractalicious.  If not, see <http://www.gnu.org/licenses/>.
*/

//The start of the app - creates the main View
#import <Foundation/Foundation.h>
#import <UIKit/UIApplication.h>
#import "FView.h"

@class UIPreferencesTable;
@class UITransitionView;
@class UIView;
@class UINavigationBar;
@class UITableCell;
@class UIImageAndTextTableCell;
@class UIPreferencesTableCell;
@class UIPreferencesTable;
@class UIWindow;

@interface FractaliciousApplication : UIApplication 
{
    UIImageAndTextTableCell *settingsCell;
    UITableCell *buttonCell;
	UIPreferencesTable * homeTable;
	UITransitionView *mainView;
	UIView *tableNav;
	UITransitionView *tableView;
	UINavigationBar *nav;

	UIWindow *window;
	
	NSMutableArray * cells;
	
	UITableCell *spiral;
}
+ (FractaliciousApplication *)sharedInstance;
- (void)showSettings; //TODO!
- (void)moveBackFromFractal;


//Datasource:
- (int)numberOfGroupsInPreferencesTable:(UIPreferencesTable *)table;
- (int)preferencesTable:(UIPreferencesTable *)table numberOfRowsInGroup:(int)group;
- (UIPreferencesTableCell *)preferencesTable:(UIPreferencesTable *)table cellForGroup:(int)group;
- (UIPreferencesTableCell *)preferencesTable:(UIPreferencesTable *)table cellForRow:(int)row inGroup:(int)group;
- (float)preferencesTable:(UIPreferencesTable *)aTable heightForRow:(int)row inGroup:(int)group withProposedHeight:(float)proposed;

@end